/*
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2008-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************
*/
package com.mes.manufacture.data;

import com.eam.data.EamFacilities;
import com.mes.data.EmesGroup;
import com.mes.data.EmesProcess;
import com.mes.data.EmesStation;
import com.mes.data.EmesWorkCenter;
import com.mes.quality.data.EmesqQualityData;
import com.mes.quality.data.EmesqQualityOrderTable;
import com.mes.quality.data.EmesqQualityResult;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.openbravo.base.structure.ActiveEnabled;
import org.openbravo.base.structure.BaseOBObject;
import org.openbravo.base.structure.ClientEnabled;
import org.openbravo.base.structure.OrganizationEnabled;
import org.openbravo.base.structure.Traceable;
import org.openbravo.model.ad.access.User;
import org.openbravo.model.ad.system.Client;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.common.plm.Product;
/**
 * Entity class for entity Emeso_Job_Order_Exe (stored in table Emeso_Job_Order_Exe).
 *
 * NOTE: This class should not be instantiated directly. To instantiate this
 * class the {@link org.openbravo.base.provider.OBProvider} should be used.
 */
public class EmesoJobOrderExe extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled {
    private static final long serialVersionUID = 1L;
    public static final String TABLE_NAME = "Emeso_Job_Order_Exe";
    public static final String ENTITY_NAME = "Emeso_Job_Order_Exe";
    public static final String PROPERTY_ID = "id";
    public static final String PROPERTY_CLIENT = "client";
    public static final String PROPERTY_ORGANIZATION = "organization";
    public static final String PROPERTY_ACTIVE = "active";
    public static final String PROPERTY_CREATIONDATE = "creationDate";
    public static final String PROPERTY_CREATEDBY = "createdBy";
    public static final String PROPERTY_UPDATED = "updated";
    public static final String PROPERTY_UPDATEDBY = "updatedBy";
    public static final String PROPERTY_EMESOJOBORDER = "emesoJobOrder";
    public static final String PROPERTY_CODE = "code";
    public static final String PROPERTY_ROUTENO = "routeNo";
    public static final String PROPERTY_ROUTENAME = "routeName";
    public static final String PROPERTY_PRODUCT = "product";
    public static final String PROPERTY_EMESPROCESS = "emesProcess";
    public static final String PROPERTY_EMESWORKCENTER = "emesWorkCenter";
    public static final String PROPERTY_EAMFACILITIES = "eamFacilities";
    public static final String PROPERTY_EMESGROUP = "emesGroup";
    public static final String PROPERTY_EMESSTATION = "emesStation";
    public static final String PROPERTY_USER = "user";
    public static final String PROPERTY_JOBTYPE = "jobType";
    public static final String PROPERTY_SEQNO = "seqNo";
    public static final String PROPERTY_PLANEDDATEFROM = "planedDateFrom";
    public static final String PROPERTY_PLANEDDATETO = "planedDateTo";
    public static final String PROPERTY_JOBGROUP = "jobGroup";
    public static final String PROPERTY_ASSISTANT = "assistant";
    public static final String PROPERTY_QTY = "qty";
    public static final String PROPERTY_PROCESSTIME = "processTime";
    public static final String PROPERTY_DATEPLANED = "datePlaned";
    public static final String PROPERTY_QTYSTART = "qtyStart";
    public static final String PROPERTY_QTYDONE = "qtyDone";
    public static final String PROPERTY_QTYGOOD = "qtyGood";
    public static final String PROPERTY_QTYERROR = "qtyError";
    public static final String PROPERTY_FINISH = "finish";
    public static final String PROPERTY_EXEDATEFROM = "exeDateFrom";
    public static final String PROPERTY_EXEDATETO = "exeDateTo";
    public static final String PROPERTY_EXETIME = "exeTime";
    public static final String PROPERTY_STATUS = "status";
    public static final String PROPERTY_EXEBTN = "exeBtn";
    public static final String PROPERTY_CANCELBTN = "cancelBtn";
    public static final String PROPERTY_CLOSEBTN = "closeBtn";
    public static final String PROPERTY_PRINTBTN = "printBtn";
    public static final String PROPERTY_PRINTSBTN = "printsBtn";
    public static final String PROPERTY_ENABLEBTN = "enableBtn";
    public static final String PROPERTY_STOPBTN = "stopBtn";
    public static final String PROPERTY_QUALITYBTN = "qualityBtn";
    public static final String PROPERTY_QUALITYDATABTN = "qualityDataBtn";
    public static final String PROPERTY_QUALITYRESULT = "qualityResult";
    public static final String PROPERTY_QUALITY = "quality";
    public static final String PROPERTY_DESCRIPTION = "description";
    public static final String PROPERTY_COMPELORDERBTN = "compelOrderBtn";
    public static final String PROPERTY_FORCEDENDTIME = "forcedEndTime";
    public static final String PROPERTY_NEXTROUTENO = "nextRouteNo";
    public static final String PROPERTY_XMFZSTATUS = "xmfzStatus";
    public static final String PROPERTY_FLYINGLIST = "flyingList";
    public static final String PROPERTY_EMESOJOBORDERDATALIST = "emesoJobOrderDataList";
    public static final String PROPERTY_EMESQQUALITYDATALIST = "emesqQualityDataList";
    public static final String PROPERTY_EMESQQUALITYORDERTABLELIST = "emesqQualityOrderTableList";
    public static final String PROPERTY_EMESQQUALITYRESULTLIST = "emesqQualityResultList";

    public EmesoJobOrderExe() {
        setDefaultValue(PROPERTY_ACTIVE, true);
        setDefaultValue(PROPERTY_ASSISTANT, false);
        setDefaultValue(PROPERTY_FINISH, false);
        setDefaultValue(PROPERTY_STATUS, "CREATE");
        setDefaultValue(PROPERTY_EXEBTN, false);
        setDefaultValue(PROPERTY_CANCELBTN, false);
        setDefaultValue(PROPERTY_CLOSEBTN, false);
        setDefaultValue(PROPERTY_PRINTBTN, false);
        setDefaultValue(PROPERTY_PRINTSBTN, false);
        setDefaultValue(PROPERTY_ENABLEBTN, false);
        setDefaultValue(PROPERTY_STOPBTN, false);
        setDefaultValue(PROPERTY_QUALITYBTN, false);
        setDefaultValue(PROPERTY_QUALITYDATABTN, false);
        setDefaultValue(PROPERTY_QUALITY, false);
        setDefaultValue(PROPERTY_COMPELORDERBTN, false);
        setDefaultValue(PROPERTY_FLYINGLIST, false);
        setDefaultValue(PROPERTY_EMESOJOBORDERDATALIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESQQUALITYDATALIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESQQUALITYORDERTABLELIST, new ArrayList<Object>());
        setDefaultValue(PROPERTY_EMESQQUALITYRESULTLIST, new ArrayList<Object>());
    }

    @Override
    public String getEntityName() {
        return ENTITY_NAME;
    }

    public String getId() {
        return (String) get(PROPERTY_ID);
    }

    public void setId(String id) {
        set(PROPERTY_ID, id);
    }

    public Client getClient() {
        return (Client) get(PROPERTY_CLIENT);
    }

    public void setClient(Client client) {
        set(PROPERTY_CLIENT, client);
    }

    public Organization getOrganization() {
        return (Organization) get(PROPERTY_ORGANIZATION);
    }

    public void setOrganization(Organization organization) {
        set(PROPERTY_ORGANIZATION, organization);
    }

    public Boolean isActive() {
        return (Boolean) get(PROPERTY_ACTIVE);
    }

    public void setActive(Boolean active) {
        set(PROPERTY_ACTIVE, active);
    }

    public Date getCreationDate() {
        return (Date) get(PROPERTY_CREATIONDATE);
    }

    public void setCreationDate(Date creationDate) {
        set(PROPERTY_CREATIONDATE, creationDate);
    }

    public User getCreatedBy() {
        return (User) get(PROPERTY_CREATEDBY);
    }

    public void setCreatedBy(User createdBy) {
        set(PROPERTY_CREATEDBY, createdBy);
    }

    public Date getUpdated() {
        return (Date) get(PROPERTY_UPDATED);
    }

    public void setUpdated(Date updated) {
        set(PROPERTY_UPDATED, updated);
    }

    public User getUpdatedBy() {
        return (User) get(PROPERTY_UPDATEDBY);
    }

    public void setUpdatedBy(User updatedBy) {
        set(PROPERTY_UPDATEDBY, updatedBy);
    }

    public EmesoJobOrder getEmesoJobOrder() {
        return (EmesoJobOrder) get(PROPERTY_EMESOJOBORDER);
    }

    public void setEmesoJobOrder(EmesoJobOrder emesoJobOrder) {
        set(PROPERTY_EMESOJOBORDER, emesoJobOrder);
    }

    public String getCode() {
        return (String) get(PROPERTY_CODE);
    }

    public void setCode(String code) {
        set(PROPERTY_CODE, code);
    }

    public Long getRouteNo() {
        return (Long) get(PROPERTY_ROUTENO);
    }

    public void setRouteNo(Long routeNo) {
        set(PROPERTY_ROUTENO, routeNo);
    }

    public String getRouteName() {
        return (String) get(PROPERTY_ROUTENAME);
    }

    public void setRouteName(String routeName) {
        set(PROPERTY_ROUTENAME, routeName);
    }

    public Product getProduct() {
        return (Product) get(PROPERTY_PRODUCT);
    }

    public void setProduct(Product product) {
        set(PROPERTY_PRODUCT, product);
    }

    public EmesProcess getEmesProcess() {
        return (EmesProcess) get(PROPERTY_EMESPROCESS);
    }

    public void setEmesProcess(EmesProcess emesProcess) {
        set(PROPERTY_EMESPROCESS, emesProcess);
    }

    public EmesWorkCenter getEmesWorkCenter() {
        return (EmesWorkCenter) get(PROPERTY_EMESWORKCENTER);
    }

    public void setEmesWorkCenter(EmesWorkCenter emesWorkCenter) {
        set(PROPERTY_EMESWORKCENTER, emesWorkCenter);
    }

    public EamFacilities getEamFacilities() {
        return (EamFacilities) get(PROPERTY_EAMFACILITIES);
    }

    public void setEamFacilities(EamFacilities eamFacilities) {
        set(PROPERTY_EAMFACILITIES, eamFacilities);
    }

    public EmesGroup getEmesGroup() {
        return (EmesGroup) get(PROPERTY_EMESGROUP);
    }

    public void setEmesGroup(EmesGroup emesGroup) {
        set(PROPERTY_EMESGROUP, emesGroup);
    }

    public EmesStation getEmesStation() {
        return (EmesStation) get(PROPERTY_EMESSTATION);
    }

    public void setEmesStation(EmesStation emesStation) {
        set(PROPERTY_EMESSTATION, emesStation);
    }

    public User getUser() {
        return (User) get(PROPERTY_USER);
    }

    public void setUser(User user) {
        set(PROPERTY_USER, user);
    }

    public String getJobType() {
        return (String) get(PROPERTY_JOBTYPE);
    }

    public void setJobType(String jobType) {
        set(PROPERTY_JOBTYPE, jobType);
    }

    public String getSeqNo() {
        return (String) get(PROPERTY_SEQNO);
    }

    public void setSeqNo(String seqNo) {
        set(PROPERTY_SEQNO, seqNo);
    }

    public Date getPlanedDateFrom() {
        return (Date) get(PROPERTY_PLANEDDATEFROM);
    }

    public void setPlanedDateFrom(Date planedDateFrom) {
        set(PROPERTY_PLANEDDATEFROM, planedDateFrom);
    }

    public Date getPlanedDateTo() {
        return (Date) get(PROPERTY_PLANEDDATETO);
    }

    public void setPlanedDateTo(Date planedDateTo) {
        set(PROPERTY_PLANEDDATETO, planedDateTo);
    }

    public String getJobGroup() {
        return (String) get(PROPERTY_JOBGROUP);
    }

    public void setJobGroup(String jobGroup) {
        set(PROPERTY_JOBGROUP, jobGroup);
    }

    public Boolean isAssistant() {
        return (Boolean) get(PROPERTY_ASSISTANT);
    }

    public void setAssistant(Boolean assistant) {
        set(PROPERTY_ASSISTANT, assistant);
    }

    public Long getQty() {
        return (Long) get(PROPERTY_QTY);
    }

    public void setQty(Long qty) {
        set(PROPERTY_QTY, qty);
    }

    public BigDecimal getProcessTime() {
        return (BigDecimal) get(PROPERTY_PROCESSTIME);
    }

    public void setProcessTime(BigDecimal processTime) {
        set(PROPERTY_PROCESSTIME, processTime);
    }

    public Date getDatePlaned() {
        return (Date) get(PROPERTY_DATEPLANED);
    }

    public void setDatePlaned(Date datePlaned) {
        set(PROPERTY_DATEPLANED, datePlaned);
    }

    public Long getQtyStart() {
        return (Long) get(PROPERTY_QTYSTART);
    }

    public void setQtyStart(Long qtyStart) {
        set(PROPERTY_QTYSTART, qtyStart);
    }

    public Long getQtyDone() {
        return (Long) get(PROPERTY_QTYDONE);
    }

    public void setQtyDone(Long qtyDone) {
        set(PROPERTY_QTYDONE, qtyDone);
    }

    public Long getQtyGood() {
        return (Long) get(PROPERTY_QTYGOOD);
    }

    public void setQtyGood(Long qtyGood) {
        set(PROPERTY_QTYGOOD, qtyGood);
    }

    public Long getQtyError() {
        return (Long) get(PROPERTY_QTYERROR);
    }

    public void setQtyError(Long qtyError) {
        set(PROPERTY_QTYERROR, qtyError);
    }

    public Boolean isFinish() {
        return (Boolean) get(PROPERTY_FINISH);
    }

    public void setFinish(Boolean finish) {
        set(PROPERTY_FINISH, finish);
    }

    public Date getExeDateFrom() {
        return (Date) get(PROPERTY_EXEDATEFROM);
    }

    public void setExeDateFrom(Date exeDateFrom) {
        set(PROPERTY_EXEDATEFROM, exeDateFrom);
    }

    public Date getExeDateTo() {
        return (Date) get(PROPERTY_EXEDATETO);
    }

    public void setExeDateTo(Date exeDateTo) {
        set(PROPERTY_EXEDATETO, exeDateTo);
    }

    public BigDecimal getExeTime() {
        return (BigDecimal) get(PROPERTY_EXETIME);
    }

    public void setExeTime(BigDecimal exeTime) {
        set(PROPERTY_EXETIME, exeTime);
    }

    public String getStatus() {
        return (String) get(PROPERTY_STATUS);
    }

    public void setStatus(String status) {
        set(PROPERTY_STATUS, status);
    }

    public Boolean isExeBtn() {
        return (Boolean) get(PROPERTY_EXEBTN);
    }

    public void setExeBtn(Boolean exeBtn) {
        set(PROPERTY_EXEBTN, exeBtn);
    }

    public Boolean isCancelBtn() {
        return (Boolean) get(PROPERTY_CANCELBTN);
    }

    public void setCancelBtn(Boolean cancelBtn) {
        set(PROPERTY_CANCELBTN, cancelBtn);
    }

    public Boolean isCloseBtn() {
        return (Boolean) get(PROPERTY_CLOSEBTN);
    }

    public void setCloseBtn(Boolean closeBtn) {
        set(PROPERTY_CLOSEBTN, closeBtn);
    }

    public Boolean isPrintBtn() {
        return (Boolean) get(PROPERTY_PRINTBTN);
    }

    public void setPrintBtn(Boolean printBtn) {
        set(PROPERTY_PRINTBTN, printBtn);
    }

    public Boolean isPrintsBtn() {
        return (Boolean) get(PROPERTY_PRINTSBTN);
    }

    public void setPrintsBtn(Boolean printsBtn) {
        set(PROPERTY_PRINTSBTN, printsBtn);
    }

    public Boolean isEnableBtn() {
        return (Boolean) get(PROPERTY_ENABLEBTN);
    }

    public void setEnableBtn(Boolean enableBtn) {
        set(PROPERTY_ENABLEBTN, enableBtn);
    }

    public Boolean isStopBtn() {
        return (Boolean) get(PROPERTY_STOPBTN);
    }

    public void setStopBtn(Boolean stopBtn) {
        set(PROPERTY_STOPBTN, stopBtn);
    }

    public Boolean isQualityBtn() {
        return (Boolean) get(PROPERTY_QUALITYBTN);
    }

    public void setQualityBtn(Boolean qualityBtn) {
        set(PROPERTY_QUALITYBTN, qualityBtn);
    }

    public Boolean isQualityDataBtn() {
        return (Boolean) get(PROPERTY_QUALITYDATABTN);
    }

    public void setQualityDataBtn(Boolean qualityDataBtn) {
        set(PROPERTY_QUALITYDATABTN, qualityDataBtn);
    }

    public String getQualityResult() {
        return (String) get(PROPERTY_QUALITYRESULT);
    }

    public void setQualityResult(String qualityResult) {
        set(PROPERTY_QUALITYRESULT, qualityResult);
    }

    public Boolean isQuality() {
        return (Boolean) get(PROPERTY_QUALITY);
    }

    public void setQuality(Boolean quality) {
        set(PROPERTY_QUALITY, quality);
    }

    public String getDescription() {
        return (String) get(PROPERTY_DESCRIPTION);
    }

    public void setDescription(String description) {
        set(PROPERTY_DESCRIPTION, description);
    }

    public Boolean isCompelOrderBtn() {
        return (Boolean) get(PROPERTY_COMPELORDERBTN);
    }

    public void setCompelOrderBtn(Boolean compelOrderBtn) {
        set(PROPERTY_COMPELORDERBTN, compelOrderBtn);
    }

    public Date getForcedEndTime() {
        return (Date) get(PROPERTY_FORCEDENDTIME);
    }

    public void setForcedEndTime(Date forcedEndTime) {
        set(PROPERTY_FORCEDENDTIME, forcedEndTime);
    }

    public Long getNextRouteNo() {
        return (Long) get(PROPERTY_NEXTROUTENO);
    }

    public void setNextRouteNo(Long nextRouteNo) {
        set(PROPERTY_NEXTROUTENO, nextRouteNo);
    }

    public String getXmfzStatus() {
        return (String) get(PROPERTY_XMFZSTATUS);
    }

    public void setXmfzStatus(String xmfzStatus) {
        set(PROPERTY_XMFZSTATUS, xmfzStatus);
    }

    public Boolean isFlyingList() {
        return (Boolean) get(PROPERTY_FLYINGLIST);
    }

    public void setFlyingList(Boolean flyingList) {
        set(PROPERTY_FLYINGLIST, flyingList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesoJobOrderData> getEmesoJobOrderDataList() {
      return (List<EmesoJobOrderData>) get(PROPERTY_EMESOJOBORDERDATALIST);
    }

    public void setEmesoJobOrderDataList(List<EmesoJobOrderData> emesoJobOrderDataList) {
        set(PROPERTY_EMESOJOBORDERDATALIST, emesoJobOrderDataList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesqQualityData> getEmesqQualityDataList() {
      return (List<EmesqQualityData>) get(PROPERTY_EMESQQUALITYDATALIST);
    }

    public void setEmesqQualityDataList(List<EmesqQualityData> emesqQualityDataList) {
        set(PROPERTY_EMESQQUALITYDATALIST, emesqQualityDataList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesqQualityOrderTable> getEmesqQualityOrderTableList() {
      return (List<EmesqQualityOrderTable>) get(PROPERTY_EMESQQUALITYORDERTABLELIST);
    }

    public void setEmesqQualityOrderTableList(List<EmesqQualityOrderTable> emesqQualityOrderTableList) {
        set(PROPERTY_EMESQQUALITYORDERTABLELIST, emesqQualityOrderTableList);
    }

    @SuppressWarnings("unchecked")
    public List<EmesqQualityResult> getEmesqQualityResultList() {
      return (List<EmesqQualityResult>) get(PROPERTY_EMESQQUALITYRESULTLIST);
    }

    public void setEmesqQualityResultList(List<EmesqQualityResult> emesqQualityResultList) {
        set(PROPERTY_EMESQQUALITYRESULTLIST, emesqQualityResultList);
    }

}
